1 research outputs found

    Automated OpenAjax Hub Widget Generation for Deep Web Surfacing

    Get PDF
    Antud magistritöö uurib, kuidas lihtsustada esitluskihil SOAP protokolli kasutavate veebiteenuste, mis on osa sĂŒvaveebist, kasutamist. Sellise teema valimist motiveerib asjaolu, et rakenduste kompositsiooniline raskuskese liigub ĂŒha enam esitluskihi suunas, kuid hetkel ei ole veebilehitsejale omaste tehnoloogiatega vĂ”imalik vĂ€liste domeenide teenuseid kasutada, nende vĂ€ljundit kuvada ja teenuseid omavahel siduda. Et vĂ€lja selgitada, kuidas antud probleemi lahendada, uuriti, mis on hetkel sellise lĂ€henemise kasutusse vĂ”tmisel peamised pidurdavad tegurid. Selgus, et pĂ”hilisi raskusi tekitavad asjaolud, et veebilehitsejad ei vĂ”imalda teha pĂ€ringuid rakenduse suhtes vĂ€listesse domeenidesse ja et JavaScriptis on SOAP pĂ€ringute koostamise tugi vĂ”rdlemisi limiteeritud. Lisaks tĂ”deti, et teenustest saadava info visualiseerimine nĂ”uab teenuse vĂ€ljundi ja kuvamisloogika manuaalset kokku-traageldamist (hard-wiring ing k). Probleemi lahendamiseks otsustati kasutada nö veebividinapĂ”hist lĂ€henemist, kus iga teenuse operatsiooni jaoks genereeritakse nĂ€htamatu JavaScripti vidin, millelt saadav info muudetakse nĂ€htavaks mĂ”ne teise vidina poolt. Sellise lĂ€henemise rakendamiseks loodi kaheosaline raamistik, mis koosneb kliendikihist ja serverikihist. Vidinate suhtlemise vĂ”imaldamiseks vĂ”eti kasutusele OpenAjax Hub raamistik, mis toimib vidinatevaheliste sĂ”numite vahendajana. Selleks, et vidinad ei oleks tihedalt kokku traageldatud, vĂ”eti appi Transformer Widget. Transformer Widget lisab OpenAjax Hub vidinatele vĂ”imaluse omavahel suhelda, kasutades semantilist integreerimist. NĂ€htamatute vidinate genereerimiseks loodi eraldi OpenAjax Hub vidin - Proxy Widget. See toimib teenuseid tarbivate vidinate ja tegeliku teenuse vahelise puhvrina ning lisaks hoolitseb selle eest, et vidin oleks korrektselt Transformer Widgetis registreeritud. Transformer Widgetis registreerimiseks pakub tuge ka serveripool. Serveris genereeritakse selle jaoks dokument, mis kirjeldab vidinate struktuuri ja semantikat ning lisaks ka skeem JSON vormingus andmete kirjeldamiseks. Serveripool kasutab selle jaoks teenuse semantiliselt annoteeritud WSDL keeles kirjeldust, kust saadakse kĂ”ik vajalik informatsioon. Proxy Widgeti puhverdamisloogika toimib nii, et esitluskihis vĂ”etakse sisendisse JSON vormingus andmed, mille abil luuakse JSON-RPC pĂ€ring. See saadetakse edasi serveripoolele, mis omakorda transformeerib pĂ€ringu SOAP pĂ€ringuks ning saadab lĂ”ppteenusele. LĂ”ppteenuselt saadud vastus teisendatakse tagasi JSON-RPC pĂ€ringuks ning edastatakse Proxy Widgetile. VĂ€lja pakutud lahenduse toimimist testiti nĂ€idisrakendusega, kus esitluskihi tasemel vĂ”imaldati tarbida kolme Äriregistri teenust - firmade leidmine nime jĂ€rgi, firma aastaaruannete leidmine ning aastaaruannete andmete leidmine. NĂ€idisrakendus tĂ”estas, et teenuste tarbimine ning andmete kuvamine osutus antud lahendusega oluliselt lihtsamaks. Lisaks oli see tĂ”estuseks, et teenuste tarbimine oli vĂ”imalik vaid veebilehitsejale omaste tehnoloogiate kasutamisega.The Deep Web, as the name implies, is typically hidden from a common web user, because the information it contains, is not findable through standard search engines. However, this hidden information is often useful to the web user. The question is, what are the possibilities to surface those resources? An example of Deep Web resource would be a SOAP web service of Estonian Business Registry. If a developer wants to use this service in a web application, to query data about annual reports, he should create a service client on the server-side and then manually wire together the user interface and the web service. This requires quite a lot of work and knowledge of server-side programming. Following a current trend where Web application development is geared towards the browser-side implementations, what should a developer do in order to create a client-side mashup using Deep Web resources and web widgets to visualize the annual report data? Unfortunately, his possibilities narrow down quite heavily. The creation of SOAP requests on the client-side is not well supported and he should still put up a server-side proxy to request data outside his own domain. And of course, the wiring with visual widgets still requires much work. This thesis aims to provide a solution that helps a developer to create such client-side mashups. It will provide an infrastructure, that takes care of the cross-domain request problems by creating a common server-side proxy, that anyone could use. It will allow a developer to initiate SOAP requests from within a web browser, by using just JSON request data. Additionally, the solution allows a developer to integrate SOAP web services with visual widgets, by using semantic integration instead of hard-wiring
    corecore